package reflect;

import java.lang.reflect.Method;

public class ReflectDemo1 {
    public static void main(String[] args) {
        Class cls = Person.class;

        String name = cls.getName();//完全限定名
        System.out.println(name);

        String simpleName = cls.getSimpleName();
        System.out.println(simpleName);

        String packageName = cls.getPackage().getName();
        System.out.println(packageName);

//        Method[] methods = cls.getMethods();//获取类的所有公开方法和超类继承的方法
//        for (Method m : methods){
//            System.out.println("方法名"+m.getName());
//        }

        Method[] methods = cls.getDeclaredMethods();//获取本类定义的方法，包含私有方法，但不包括超类的方法
        for(Method m : methods){
            System.out.println("方法名：" + m.getName());
        }



//        Person person = new Person();
//        System.out.println(person.hashCode());


    }
}
